package com.bank.backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bank.backend.model.entity.Deposit;
import com.bank.backend.model.dto.DepositCreateDTO;
import com.bank.backend.model.dto.DepositQueryDTO;
import com.bank.backend.model.dto.DepositUpdateDTO;
import com.bank.backend.model.vo.DepositVO;
import com.bank.backend.result.PageResult;
import com.bank.backend.model.dto.WithdrawDTO;

/**
 * 存款类型业务接口
 */
public interface DepositService extends IService<Deposit> {
    void createDeposit(DepositCreateDTO dto);
    void deleteDeposit(Integer depositId);
    void updateDeposit(DepositUpdateDTO dto);
    DepositVO getDepositById(Integer depositId);
    
    /**
     * 分页查询存款类型（使用DTO）
     */
    PageResult<DepositVO> pageDepositList(DepositQueryDTO queryDTO);

    /**
     * 存款操作
     * @param cardId 卡号
     * @param amount 存款金额
     * @param remark 备注
     */
    void deposit(String cardId, Double amount, String remark);

    /**
     * 取款操作
     * @param dto 取款参数（含卡号）
     */
    void withdraw(WithdrawDTO dto);
} 